A data processing system operates according to the criteria and specifications provided in one or more configuration files or data structures. For example, when executing an application on a computer, the registry of the computer provides the information of which software components to use, version and dependency information about those components, certain parameters used by those components, and so on.
When a user invokes an application on a computer, establishes a session with an application on another computer, or begins a transaction with another system, certain requirements of those other systems or applications have to be met at the user's computer for the invocation, session, or transaction to be successful. For example, a configuration file associated with the application provides further information about the required infrastructure components and their versions, user-specified parameters, default attributes of the application, and so on.
Websites often require certain plug-ins to be available at the user's computer. For example, a website that provides audio/video content requires one or more specific codec plug-in that is capable of decoding the media content stream from the website. Systems such as online banking, secure database access applications, and the like require specific versions of technological components, such as Java, to be running on the user's computer (Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle Corporation and/or its affiliates.)